#pragma once
#include <driver/pcnt.h>

typedef struct {
    int32_t total_count;    // 扩展后的总计数（64位）
    int16_t prev_count;     // 上次读取的原始计数值
    pcnt_unit_t unit;       // PCNT单元号
} encoder_t;

void encoder_init(pcnt_unit_t pcnt_unit,int pin0,int pin1);

void encoder_ext_init(encoder_t *encoder, pcnt_unit_t unit);

int32_t encoder_get_count(encoder_t *encoder);